home *** CD-ROM | disk | FTP | other *** search
-
- #include <OSUtil.h>
-
-
- #define INITA4() _A4SET(0)
- #define SETUPA4() _A4SET(1)
-
-
- char *modalDTrap;
- short watching;
-
- main()
- {
- asm {
- movem.l a1-a5/d0-d7,-(sp) /* save the regs */
- };
- INITA4();
- startup();
- asm {
- Movem.l (sp)+,a1-a5/d0-d7 /* restore all regs */
- };
- };
-
-
- startup()
- {
- extern pascal void myModalDialog();
-
- watching = 0;
-
- modalDTrap = (char *) NGetTrapAddress(0x191,ToolTrap);
-
- NSetTrapAddress(&myModalDialog,0x191,ToolTrap);
- };
-
-
- _A4SET(first)
- int first;
- {
- asm {
- bra.s @1
- a4save: dc.l 0
- @1 nop
- }
- if (first == 0)
- asm { lea @a4save,a4
- move.l a0,(a4)
- move.l a0,a4 }
- if (first == 1)
- asm { lea @a4save,a4
- move.l (a4),a4 }
- };
-
-